package cn.terminus.web.customer.contractrentclause.form;

import cn.terminus.result.common.vo.TerminusBaseTimesVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * ContractRentClauseNewForm
 *
 * @author makejava
 * @since 2021-07-21 11:01:10
 */
@ApiModel("ContractRentClause新增参数")
@Data
public class ContractRentClauseNewForm extends TerminusBaseTimesVo {
    private static final long serialVersionUID = -92304544539850002L;

    /**
     * 合同ID
     */
    @ApiModelProperty(name = "contractId", value = "合同ID", required = true)
    private Long contractId;

    /**
     * 条款开始时间
     */
    @ApiModelProperty(name = "clauseBeginTime", value = "条款开始时间", required = true)
    private LocalDate clauseBeginTime;

    /**
     * 条款结束时间
     */
    @ApiModelProperty(name = "clauseEndTime", value = "条款结束时间", required = true)
    private LocalDate clauseEndTime;

    /**
     * 租金价格
     */
    @ApiModelProperty(name = "rentalPrice", value = "租金价格", required = true)
    private BigDecimal rentalPrice;

    /**
     * 租金单位code
     */
    @ApiModelProperty(name = "rentalUnitCode", value = "租金单位code", required = true)
    private String rentalUnitCode;

    /**
     * 付款时间code 延后 提前
     */
    @ApiModelProperty(name = "payBehaviorCode", value = "付款时间code 延后 提前 ", required = true)
    private String payBehaviorCode;

    /**
     * 付款天数
     */
    @ApiModelProperty(name = "payDayNumber", value = "付款天数 ", required = true)
    private Integer payDayNumber;

    /**
     * 付款时间类型 工作日，自然日，指定几号
     */
    @ApiModelProperty(name = "payDayTypeCode", value = "付款时间类型 工作日，自然日，指定几号 ", required = true)
    private String payDayTypeCode;

    /**
     * 计费类型 按月，按实际天数
     */
    @ApiModelProperty(name = "chargingTypeCode", value = "计费类型 按月，按实际天数 ", required = true)
    private String chargingTypeCode;

    /**
     * 单价换算规则
     */
    @ApiModelProperty(name = "unitPrice_RoleCode", value = "单价换算规则 ", required = true)
    private String unitPrice_RoleCode;

    /**
     * 换算天数
     */
    @ApiModelProperty(name = "conversionDayCode", value = "换算天数 ", required = true)
    private String conversionDayCode;

    /**
     * 付款周期
     */
    @ApiModelProperty(name = "payCycle", value = "付款周期 ", required = true)
    private Integer payCycle;

    /**
     * 租期划分方式
     */
    @ApiModelProperty(name = "leaseTermDivisionCode", value = "租期划分方式 ", required = true)
    private String leaseTermDivisionCode;

    /**
     * 状态 1正常 2删除
     */
    @ApiModelProperty(name = "status", value = "状态 1正常 2删除", required = false)
    private Integer status;


}
